In increasingly complex business operations, a business process might be formalized and facilitated using a workflow management system (WFMS). A WFMS typically includes a workflow engine that generates work items according to activities defined as workflows supporting one or more business processes. As an example, an organization might have a set process for approval for particular activity and the WFMS handles routing a corresponding work item among those individuals that need to sign off on the approval. For example, an employee desiring a vacation might initiate a “vacation approval” business object. A vacation application would then send an event to the WFMS, along with a reference to the business object (vacation request) and the WFMS would pick and start a workflow that corresponds to the triggering event. The vacation approval request would be routed among those others that would need to track, approve or just be notified of such a request, with a result of the work (e.g., approval, denial, etc.) routed back to the initiating employee. As another example, a product design process might involve a designer who designs the product, a product manager that reviews design documents from the designer, a marketing reviewer that approves, edits, etc. marketing details, each of whom has a work item related to the development. While some work items require human interaction, notice and/or decision-making, other work items might able to be automatically handled by the WFMS.
The work items needing a particular person's (or role's) input or notice might be presented to that person or role as an item on a worklist. In some cases, work items can be acted on directly from a presentation of a worklist, while others are acted on by the workflow participant taking an action outside the worklist. In addition, participants may have other tasks and collaborative events.
Some interactions might use the WFMS in part and use unrelated applications in part. For example, a work item might be generated for handling by a user that prompts the user to make a decision that requires information not present in the work item. For example, the work item might specify that employee A wants to take N days of vacation from date D1 to date D2 and request an approval/rejection response from the participant to whom the work item is assigned. That participant might then have to obtain further information externally, such as by conferring with A's group manager and relevant project managers, as well as checking with a human resources department or human resources application to determine if A has sufficient vacation time available.
Enterprise portals integrate heterogeneous applications, content and systems across extended enterprises, but generally portal integration combines application or system user interfaces. Existing workflow management systems have disadvantages that might be overcome by an improved workflow management system.